﻿@model blacksoft.Models.GenerateReservaModel
@{
    ViewBag.Title = "Programacion";
    Layout = "~/Views/Shared/_LayoutVentas.cshtml";
}
<link href="~/Content/estilosGeneral.css" rel="stylesheet" />
 
<div class="block big">
    <div class="block_cont">

        <input type="hidden" id="hdnTipoReserva" value="@Model.TipoReserva" />

        <input type="hidden" id="hdnNroProgramacionSeleccionado" value="0" />
        <input type="hidden" id="hdnNroProgramacionSeleccionadoVuelta" value="0" />

        <input type="hidden" id="hdnNroAsientoSeleccionado" value="0" />
        <input type="hidden" id="hdnNroAsientoSeleccionadoVuelta" value="0" />
        <!--FIN ::::  OBJETOS GENERALES PROCESO GENERAR RESERVA -->
        <div style="width:1000px; margin-left:auto;margin-right:auto;">
            <div id="pnlListadoProgramacion">
                <h3>PASO 1: Programacion de Ruta</h3><br /><br />
                <h6>Programacion IDA</h6>
                <table class="data-table" style="width:100%;">
                    <thead>
                        <tr>
                            <th>&nbsp;</th>
                            <th>Origen</th>
                            <th>Destino</th>
                            <th>Fec. Salida</th>
                            <th>Servicio</th>
                            <th>Precio</th>
                        </tr>
                    </thead>
                    @foreach (var item in Model.listaProgramacionViaje)
                    {
                        <tr>
                            <td><input type="radio" name="rdSeleccionProgramacionLogin" value="@item.IdProgramcionViaje" onclick="javascript: seleccionProgramacionViajeLogin(this.value);" /></td>
                            <td>@item.Origen</td>
                            <td>@item.Destino</td>
                            <td>@item.FechaSalida</td>
                            <td>@item.DescriptionTipoServicio</td>
                            <td>@item.Precio</td>
                        </tr>
                    }
                </table>
                @{

                    if (!Model.TipoReserva.Equals("IDA"))
                    {
                        <br /><br />
                        <h6>Programacion VUELTA</h6>
                        <table class="data-table" style="width:100%;">
                            <thead>
                                <tr>
                                    <th>&nbsp;</th>
                                    <th>Origen</th>
                                    <th>Destino</th>
                                    <th>Fec. Salida</th>
                                    <th>Servicio</th>
                                    <th>Precio</th>
                                </tr>
                            </thead>
                            @foreach (var item in Model.listaProgramacionViajeVuelta)
                            {
                                <tr>
                                    <td><input type="radio" name="rdSeleccionProgramacionVueltaLogin" value="@item.IdProgramcionViaje" onclick="javascript: seleccionProgramacionViajeVueltaLogin(this.value);" /></td>
                                    <td>@item.Origen</td>
                                    <td>@item.Destino</td>
                                    <td>@item.FechaSalida</td>
                                    <td>@item.DescriptionTipoServicio</td>
                                    <td>@item.Precio</td>
                                </tr>
                            }
                        </table>
                    }
                }
                <div style="text-align:center !important;">
                    <input type="button" style="padding:15px; vertical-align:middle;" value="Regresar" id="btnRegresarNuevaReservaLogin" />&nbsp;&nbsp;&nbsp;
                    <input type="button" style="padding:15px; vertical-align: middle;" value="Continuar" id="btnContinuarSeleccionAsientosLogin" />
                </div>
            </div>

            <div id="pnlSeleccionAsientos" style="display:none;">
                <h3>PASO 2: Seleccion Asiento</h3><br />
                <table style="width:100%;">
                    <tr>
                        <td style="width:250px;">
                            <table id="AsientosIda" class="pnlAsientos">
                                <tr>
                                    <td><input type="button" class="libre" id="1" value="1" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="2" value="2" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td></td>
                                    <td><input type="button" class="libre" id="3" value="3" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="4" value="4" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                </tr>
                                <tr>
                                    <td><input type="button" class="libre" id="5" value="5" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="6" value="6" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td></td>
                                    <td><input type="button" class="libre" id="7" value="7" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="8" value="8" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                </tr>
                                <tr>
                                    <td><input type="button" class="libre" id="9" value="9" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="10" value="10" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td></td>
                                    <td><input type="button" class="libre" id="11" value="11" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="12" value="12" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                </tr>
                                <tr>
                                    <td><input type="button" class="libre" id="13" value="13" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="14" value="14" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td></td>
                                    <td><input type="button" class="libre" id="15" value="15" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="16" value="16" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                </tr>
                                <tr>
                                    <td><input type="button" class="libre" id="17" value="17" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="18" value="18" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td></td>
                                    <td><input type="button" class="libre" id="19" value="19" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="20" value="20" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                </tr>
                                <tr>
                                    <td><input type="button" class="libre" id="21" value="21" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="22" value="22" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td></td>
                                    <td><input type="button" class="libre" id="23" value="23" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="24" value="24" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                </tr>
                                <tr>
                                    <td><input type="button" class="libre" id="25" value="25" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="26" value="26" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="27" value="27" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="28" value="28" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                    <td><input type="button" class="libre" id="29" value="29" onclick="javascript: seleccionAsientos(this.value);" /></td>
                                </tr>
                            </table>
                        </td>
                        <td valign="middle">
                            <table style="width:280px;margin-left:auto;margin-right:auto;" class="formularioDatos">
                                <tr>
                                    <td colspan="2" style="background: #495362; height:20px; color: white; font-weight: bold; text-align: center; ">ASIENTO SELECCIONADO IDA</td>
                                </tr>
                                <tr>
                                    <td><label>SERVICIO</label></td>
                                    <td><span id="spanServicio"></span></td>
                                </tr>
                                <tr>
                                    <td><label>NRO ASIENTO</label></td>
                                    <td><span id="spanNroAsiento"></span></td>
                                </tr>
                                <tr>
                                    <td><label>PRECIO</label></td>
                                    <td><span id="spanPrecio"></span></td>
                                </tr>
                            </table>
                            @{
                                if (!Model.TipoReserva.Equals("IDA"))
                                {
                                    <br /><br />
                                    <table style="width:280px;margin-left:auto;margin-right:auto;" class="formularioDatos">
                                        <tr>
                                            <td colspan="2" style="background: #495362; height:20px; color: white; font-weight: bold; text-align: center; ">ASIENTO SELECCIONADO VUELTA</td>
                                        </tr>
                                        <tr>
                                            <td><label>SERVICIO</label></td>
                                            <td><span id="spanServicioVuelta"></span></td>
                                        </tr>
                                        <tr>
                                            <td><label>NRO ASIENTO</label></td>
                                            <td><span id="spanNroAsientoVuelta"></span></td>
                                        </tr>
                                        <tr>
                                            <td><label>PRECIO</label></td>
                                            <td><span id="spanPrecioVuelta"></span></td>
                                        </tr>
                                    </table>
                                }
                            }
                        </td>
                        <td>
                            @{
                                if (!Model.TipoReserva.Equals("IDA"))
                                {
                                    <table id="AsientosVuelta" class="pnlAsientos">
                                        <tr>
                                            <td><input type="button" class="libre" id="1" value="1" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="2" value="2" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td></td>
                                            <td><input type="button" class="libre" id="3" value="3" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="4" value="4" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="button" class="libre" id="5" value="5" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="6" value="6" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td></td>
                                            <td><input type="button" class="libre" id="7" value="7" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="8" value="8" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="button" class="libre" id="9" value="9" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="10" value="10" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td></td>
                                            <td><input type="button" class="libre" id="11" value="11" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="12" value="12" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="button" class="libre" id="13" value="13" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="14" value="14" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td></td>
                                            <td><input type="button" class="libre" id="15" value="15" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="16" value="16" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="button" class="libre" id="17" value="17" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="18" value="18" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td></td>
                                            <td><input type="button" class="libre" id="19" value="19" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="20" value="20" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="button" class="libre" id="21" value="21" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="22" value="22" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td></td>
                                            <td><input type="button" class="libre" id="23" value="23" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="24" value="24" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                        </tr>
                                        <tr>
                                            <td><input type="button" class="libre" id="25" value="25" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="26" value="26" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="27" value="27" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="28" value="28" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                            <td><input type="button" class="libre" id="29" value="29" onclick="javascript: seleccionAsientosVuelta(this.value);" /></td>
                                        </tr>
                                    </table>
                                }
                            }
                        </td>
                    </tr>
                    <tr>
                        <td colspan="3">&nbsp;</td>
                    </tr>
                    <tr>
                        <td colspan="3">
                            <input type="button" class="ocupado" /> Ocupado ..... <input type="button" class="reservado" /> Reservado ..... <input type="button" class="libre" /> Libre
                        </td>
                    </tr>
                </table>

                <div style="text-align:center;">
                    <input type="button" style="padding:15px;" value="Regresar" id="btnRegresarListadoProgramacionViaje" onclick="javascript: stepListadoProgramacionViajeLogin();" />
                    <input type="button" style="padding:15px;" value="Continuar" id="btnContinuarRegistroPasajeroLogin" />
                </div>
            </div>



            <div id="pnlRegistroDatosPasajero" style="display:none;">
                <h3>PASO 3: Informacion de Pasajero</h3><br />
                <table class="formularioDatos">
                    <tr>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.TipoDocumentos)</td>
                        <td>
                            <select id="TipoDocumento">
                                <option value="">Seleccione</option>
                                <option value="DNI">DNI</option>
                                <option value="CCE">Carnet de extranjeria</option>
                            </select>
                        </td>
                        <td><label>Nro Doc</label></td>
                        <td><input type="text" id="pasajeroDNI" tabindex="1" onkeypress="return isNumberKey(event, 'mensajeAdvertencia');" /></td>
                    </tr>
                    <tr>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.Nombre)</td>
                        <td><input type="text" id="pasajeroNombre" tabindex="2" onkeypress="return soloLetras(event, 'mensajeAdvertencia');" /></td>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.Telefono)</td>
                        <td><input type="text" id="pasajeroTelefono" tabindex="8" maxlength="7" onkeypress="return isNumberKey(event, 'mensajeAdvertencia');" /></td>
                    </tr>
                    <tr>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.ApellidoPaterno)</td>
                        <td><input type="text" id="pasajeroApPaterno" tabindex="3" onkeypress="return soloLetras(event, 'mensajeAdvertencia');" /></td>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.FechaNacimiento)</td>
                        <td><input type="date" class="datetime" id="pasajeroFecNacimiento" tabindex="9" value="" /></td>
                    </tr>
                    <tr>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.ApellidoMaterno)</td>
                        <td><input type="text" id="pasajeroApMaterno" tabindex="4" onkeypress="return soloLetras(event, 'mensajeAdvertencia');" /></td>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.Email)</td>
                        <td><input type="text" id="pasajeroEmail" tabindex="10" value="" /></td>
                    </tr>
                    <tr>
                        <td>@Html.LabelFor(c => c.pasajeroDatos.Direccion)</td>
                        <td colspan="3"><input type="text" id="pasajeroDireccion" tabindex="5" style="width:100%;" /></td>
                    </tr>
                    <tr>
                        <td>Refrigerio</td>
                        <td>
                            <select id="Refrigerio" tabindex="6">
                                <option value="">Seleccione</option>
                                <option value="Vegetariano">Vegetariano</option>
                                <option value="Carne">Carne</option>
                                <option value="Pollo">Pollo</option>
                            </select>
                        </td>
                        <td>Almuerzo</td>
                        <td>
                            <select id="Almuerzo" tabindex="7">
                                <option value="">Seleccione</option>
                                <option value="Vegetariano">Vegetariano</option>
                                <option value="Carne">Carne</option>
                                <option value="Pollo">Pollo</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4">&nbsp;</td>
                    </tr>
                    <tr>
                        <td colspan="4"><span style="color:red; font-weight:bold;" id="mensajeAdvertencia"></span></td>
                    </tr>
                    <tr>
                        <td colspan="4">
                            <div style="background:yellow; display:none; padding:5px;" id="pnlMenorEdad">
                                Usted esta registrando un menor de edad recuerde que debe ir acompañado de un adulto!
                            </div>
                        </td>
                    </tr>
                </table>
                <div style="text-align:center;">
                    <input type="button" style="padding:15px;" value="Regresar" id="btnRegresarSeleccionAsientos" onclick="javascript: stepSeleccionAsientos();" />
                    <input type="button" style="padding:15px;" value="Agregar y Registrar Nuevo Pasajero" id="btnAgregarNuevoPasajero" onclick="javascript: agregarPasajeroTemporal();" />
                    <input type="button" style="padding:15px;" value="Generar Reserva" id="btnGenerarReserva" onclick="javascript: generarReserva();" />
                </div>
            </div>


        </div>
    </div>
</div>

<script src="~/Scripts/generalFunctions.js"></script>
<script type="text/javascript">

    var ObjectPage = {
        asientosReservadosTemporal: [],
        asientosReservadosVueltaTemporal: []
    };

    function getAge(dateString) {
        var today = new Date();
        var birthDate = new Date(dateString);
        var age = today.getFullYear() - birthDate.getFullYear();
        var m = today.getMonth() - birthDate.getMonth();
        if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
            age--;
        }
        return age;
    }

    $(document).ready(function () {

        $("#TipoDocumento").change(function () {
            if ($("#TipoDocumento").val() == "DNI") {
                $("#pasajeroDNI").attr("maxlength", "8");
            } else {
                $("#pasajeroDNI").attr("maxlength", "11");
            }
        });

        $("#pasajeroFecNacimiento").blur(function () {

            if (getAge($("#pasajeroFecNacimiento").val()) < 18)
                $("#pnlMenorEdad").show();
            else
                $("#pnlMenorEdad").hide();
        });

        $("#btnContinuarSeleccionAsientosLogin").click(function () {
            var AnyProgramacionSeleccionada = false;
            var AnyProgramacionSeleccionadaVuelta = false;
            $("input[name='rdSeleccionProgramacionLogin']").each(function () {
                if ($(this).is(":checked")) {
                    AnyProgramacionSeleccionada = true;
                }
            });

            $("input[name='rdSeleccionProgramacionVueltaLogin']").each(function () {
                if ($(this).is(":checked")) {
                    AnyProgramacionSeleccionadaVuelta = true;
                }
            });



            if (AnyProgramacionSeleccionada) {


                if ($("#hdnTipoReserva").val() != "IDA") {
                    if (!AnyProgramacionSeleccionadaVuelta) {
                        alert("Debe seleccionar una programacion de regreso para continuar!");
                        return;
                    }
                }


                stepSeleccionAsientos();
            } else {
                alert("Debe seleccionar una programacion para continuar!");
            }
        });

        $("#btnContinuarRegistroPasajeroLogin").click(function () {
            if ($("#spanNroAsiento").text() == "") {
                alert("Debe seleccionar un asiento para continuar con el registro!")
                return;
            }

            if ($("#hdnTipoReserva").val() != "IDA") {
                if ($("#spanNroAsientoVuelta").text() == "") {
                    alert("Debe seleccionar un asiento de vuelta para continuar con el registro!")
                    return;
                }
            }

            stepRegistroPasajero();

        });

        $("#btnRegresarNuevaReservaLogin").click(function () {
            document.location.href = '@Url.Action("BuscarProgramacion", "ComprarPasaje")';
        });

        $("#AsientosIda input[type='button']").click(function () {
            $("#AsientosIda input[type='button']").each(function () {
                if ($(this).attr("class") != "ocupado" && $(this).attr("class") != "reservado") {
                    $(this).removeClass("seleccionado");
                }
            });
            $(this).addClass("seleccionado");
            marcarAsientosSeleccionadosTemporalmente();
        });

        $("#AsientosVuelta input[type='button']").click(function () {
            $("#AsientosVuelta input[type='button']").each(function () {
                if ($(this).attr("class") != "ocupado" && $(this).attr("class") != "reservado") {
                    $(this).removeClass("seleccionado");
                }
            });
            $(this).addClass("seleccionado");
            marcarAsientosSeleccionadosVueltaTemporalmente();
        });


        $("#pasajeroDNI").blur(function () {
            getDatosPasajero();
        });
    });

    function getDatosPasajero() {
        var params = "{'NroDni' : '" + $("#pasajeroDNI").val() + "'}";
        $.ajax({
            type: "POST",
            url: '@Url.Action("getDatosPasajeroXDNI", "ComprarPasaje")',
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                if (data.any == 1) {

                    $("#pasajeroFecNacimiento").val(data.datos.FechaNacimiento);
                    $("#pasajeroTelefono").val(data.datos.Telefono);
                    $("#pasajeroNombre").val(data.datos.Nombre);
                    $("#pasajeroApPaterno").val(data.datos.ApellidoPaterno);
                    $("#pasajeroApMaterno").val(data.datos.ApellidoMaterno);
                    $("#pasajeroEmail").val(data.datos.Email);
                    $("#pasajeroDireccion").val(data.datos.Direccion);
                    $("#pasajeroTelefono").val(data.datos.Telefono);
                    $("#pasajeroFecNacimiento").val(data.datos.FechaNacimiento);
                    //$("#Almuerzo").val(data.datos.Almuerzo);
                    //$("#Refrigerio").val(data.datos.Refrigerio);
                }
            },
            error: errorInesperado
        });
    }


    function generarReserva() {
        if ($("#TipoDocumento").val() == "") { alert("Debe seleccionar un tipo de documento"); return false; }
        if ($("#TipoDocumento").val() == "DNI") {
            if ($("#pasajeroDNI").val().length < 8) { alert("El numero de DNI debe tener 8 digitos"); return false; }
        } else {
            if ($("#pasajeroDNI").val().length < 11) { alert("El numero de CE debe tener 11 digitos"); return false; }
        }
        if ($("#pasajeroTelefono").val().length < 7) { alert("El numero telefonico debe tener 7 digitos"); return false; }
        if ($("#pasajeroNombre").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroApPaterno").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroApMaterno").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroDNI").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroEmail").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroDireccion").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroTelefono").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroTelefono").val().length < 7) { alert("El numero telefonico debe tener 7 digitos"); return false; }
        if ($("#pasajeroFecNacimiento").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if (!validarEmail($("#pasajeroEmail").val())) { alert("El formato del correo electronico es incorrecto"); return false; }
        if ($("#Refrigerio").val() == "") { alert("Debe seleccionar un tipo de refrigerio"); return false; }
        if ($("#Almuerzo").val() == "") { alert("Debe seleccionar un tipo de almuerzo"); return false; }

        if (!confirm("Esta seguro que desea registrar la reserva?")) return;
        savePasajeroTemporal();
        var params = "{ 'idProgramacionViaje' : '" + $("#hdnNroProgramacionSeleccionado").val() + "', 'idProgramacionViajeVuelta' : '" + $("#hdnNroProgramacionSeleccionadoVuelta").val() + "'}";
        $.ajax({
            type: "POST",
            url: '@Url.Action("generarReserva", "ComprarPasaje")',
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                if (data.result == "1") {
                    alert(data.mensajeRespuesta);
                    document.location.href = '@Url.Action("ReserveConfirmation", "ComprarPasaje")';
                } else {
                    alert(data.mensajeRespuesta);
                    marcarAsientosNoDisponibles($("#hdnNroProgramacionSeleccionado").val());
                    if ($("#hdnNroProgramacionSeleccionadoVuelta").val() != "0")
                        marcarAsientosNoDisponiblesVuelta($("#hdnNroProgramacionSeleccionadoVuelta").val());
                }
            },
            error: errorInesperado
        });
    }

    function agregarPasajeroTemporal() {
        if (savePasajeroTemporal()) {
            stepSeleccionAsientos();
            alert("Se registro el pasajero satisfactoriamente");
            limpiarControlesPasajero();
        }
    }

    function savePasajeroTemporal() {
        var registroSatisfactorio = false;
        if ($("#TipoDocumento").val() == "") { alert("Debe seleccionar un tipo de documento"); return false; }
        if ($("#TipoDocumento").val() == "DNI") {
            if ($("#pasajeroDNI").val().length < 8) { alert("El numero de DNI debe tener 8 digitos"); return false; }
        } else {
            if ($("#pasajeroDNI").val().length < 11) { alert("El numero de CE debe tener 11 digitos"); return false; }
        }
        if ($("#pasajeroTelefono").val().length < 7) { alert("El numero telefonico debe tener 7 digitos"); return false; }
        if ($("#pasajeroNombre").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroApPaterno").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroApMaterno").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroDNI").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroEmail").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroDireccion").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroTelefono").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if ($("#pasajeroTelefono").val().length < 7) { alert("El numero telefonico debe tener 7 digitos"); return false; }
        if ($("#pasajeroFecNacimiento").val() == "") { alert("Debe ingresar todos los datos requeridos"); return false; }
        if (!validarEmail($("#pasajeroEmail").val())) { alert("El formato del correo electronico es incorrecto"); return false; }
        if ($("#Refrigerio").val() == "") { alert("Debe seleccionar un tipo de refrigerio"); return false; }
        if ($("#Almuerzo").val() == "") { alert("Debe seleccionar un tipo de almuerzo"); return false; }
        var params = "{ 'nombrePasajero' : '" + $("#pasajeroNombre").val() + "', 'apPaternoPasajero' : '" + $("#pasajeroApPaterno").val() + "', 'apMaternoPasajero' : '" + $("#pasajeroApMaterno").val() + "', 'dniPasajero' : '" + $("#pasajeroDNI").val() + "', 'emailPasajero' : '" + $("#pasajeroEmail").val() + "', 'direccionPasajero' : '" + $("#pasajeroDireccion").val() + "', 'fecNacimientoPasajero' : '" + $("#pasajeroFecNacimiento").val() + "', 'telefonoPasajero' : '" + $("#pasajeroTelefono").val() + "', 'asiento' : '" + $("#hdnNroAsientoSeleccionado").val() + "', 'asientoVuelta' : '" + $("#hdnNroAsientoSeleccionadoVuelta").val() + "', 'refrigerio' : '" + $("#Refrigerio").val() + "', 'almuerzo' : '" + $("#Almuerzo").val() + "', 'tipoDocumento' : '" + $("#TipoDocumento").val() + "' }";
        $.ajax({
            type: "POST",
            url: '@Url.Action("agregarPasajeroTemporal", "ComprarPasaje")',
            data: params,
            async: false,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                if (data.result == "1") {
                    ObjectPage.asientosReservadosTemporal.push({ 'NroAsiento': $("#hdnNroAsientoSeleccionado").val(), 'Pasajero': $("#pasajeroNombre").val() + " " + $("#pasajeroApPaterno").val() });
                    ObjectPage.asientosReservadosVueltaTemporal.push({ 'NroAsiento': $("#hdnNroAsientoSeleccionadoVuelta").val(), 'Pasajero': $("#pasajeroNombre").val() + " " + $("#pasajeroApPaterno").val() });
                    marcarAsientosSeleccionadosTemporalmente();
                    marcarAsientosSeleccionadosVueltaTemporalmente();
                    registroSatisfactorio = true;
                }
            },
            error: errorInesperado
        });
        return registroSatisfactorio;
    }

    function marcarAsientosNoDisponibles(idProgramacionViaje) {
        var params = "{ 'idProgramacionViaje' : '" + idProgramacionViaje + "'}";
        $.ajax({
            type: "POST",
            url: '@Url.Action("listarAsientosNoDisponibles", "ComprarPasaje")',
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                $("#spanServicio").text(data.servicio);
                $("#spanPrecio").text(data.precio);
                $.each(data.listaAsientosReservados, function (index, value) {
                    $("#AsientosIda #" + value.NroAsiento).removeClass("libre");
                    $("#AsientosIda #" + value.NroAsiento).addClass("reservado");
                });

                $.each(data.asientoPagado, function (index, value) {
                    $("#AsientosIda #" + value.NroAsiento).removeClass("libre");
                    $("#AsientosIda #" + value.NroAsiento).removeClass("reserva");
                    $("#AsientosIda #" + value.NroAsiento).addClass("ocupado");
                });
            },
            error: errorInesperado
        });
    }

    function marcarAsientosNoDisponiblesVuelta(idProgramacionViaje) {
        var params = "{ 'idProgramacionViaje' : '" + idProgramacionViaje + "'}";
        $.ajax({
            type: "POST",
            url: '@Url.Action("listarAsientosNoDisponiblesVuelta", "ComprarPasaje")',
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                $("#spanServicioVuelta").text(data.servicio);
                $("#spanPrecioVuelta").text(data.precio);
                $.each(data.listaAsientosReservados, function (index, value) {
                    $("#AsientosVuelta #" + value.NroAsiento).removeClass("libre");
                    $("#AsientosVuelta #" + value.NroAsiento).addClass("reservado");
                });
                $.each(data.asientoPagado, function (index, value) {
                    $("#AsientosVuelta #" + value.NroAsiento).removeClass("libre");
                    $("#AsientosVuelta #" + value.NroAsiento).removeClass("reservado");
                    $("#AsientosVuelta #" + value.NroAsiento).addClass("ocupado");
                });
            },
            error: errorInesperado
        });
    }

    function marcarAsientosSeleccionadosTemporalmente() {
        $.each(ObjectPage.asientosReservadosTemporal, function (index, value) {
            $("#AsientosIda #" + value.NroAsiento).removeClass("libre");
            $("#AsientosIda #" + value.NroAsiento).addClass("seleccionado");
        });
    }

    function marcarAsientosSeleccionadosVueltaTemporalmente() {
        $.each(ObjectPage.asientosReservadosVueltaTemporal, function (index, value) {
            $("#AsientosVuelta #" + value.NroAsiento).removeClass("libre");
            $("#AsientosVuelta #" + value.NroAsiento).addClass("seleccionado");
        });
    }


    function seleccionProgramacionViajeLogin(programacion) {
        $("#hdnNroProgramacionSeleccionado").val(programacion);
        marcarAsientosNoDisponibles(programacion);
    }

    function seleccionProgramacionViajeVueltaLogin(programacion) {
        $("#hdnNroProgramacionSeleccionadoVuelta").val(programacion);
        marcarAsientosNoDisponiblesVuelta(programacion);
    }

    function seleccionAsientos(asiento) {
        if ($("#AsientosIda #" + asiento).attr("class") != "reservado" && $("#" + asiento).attr("class") != "seleccionado" && $("#" + asiento).attr("class") != "ocupado") {
            $("#hdnNroAsientoSeleccionado").val(asiento);
            $("#spanNroAsiento").text(asiento);
        }
    }

    function seleccionAsientosVuelta(asiento) {
        if ($("#AsientosVuelta #" + asiento).attr("class") != "reservado" && $("#" + asiento).attr("class") != "seleccionado" && $("#" + asiento).attr("class") != "ocupado") {
            $("#hdnNroAsientoSeleccionadoVuelta").val(asiento);
            $("#spanNroAsientoVuelta").text(asiento);
        }
    }

    function stepListadoProgramacionViajeLogin() {
        $("#pnlListadoProgramacion").show();
        $("#pnlSeleccionAsientos").hide();
        $("#pnlRegistroDatosPasajero").hide();
    }


    function stepSeleccionAsientos() {
        $("#pnlSeleccionAsientos").show();
        $("#pnlListadoProgramacion").hide();
        $("#pnlRegistroDatosPasajero").hide();
    }

    function stepRegistroPasajero() {
        $("#pnlRegistroDatosPasajero").show();
        $("#pnlSeleccionAsientos").hide();
        $("#pnlListadoProgramacion").hide();
    }

    function limpiarControlesPasajero() {
        $("#pnlMenorEdad").hide();
        $("#TipoDocumento").val("");
        $("#pasajeroNombre").val("");
        $("#pasajeroApPaterno").val("");
        $("#pasajeroApMaterno").val("");
        $("#pasajeroDNI").val("");
        $("#pasajeroEmail").val("");
        $("#pasajeroDireccion").val("");
        $("#pasajeroFecNacimiento").val("");
        $("#pasajeroTelefono").val("");
        $("#hdnNroAsientoSeleccionado").val("0");
        $("#hdnNroAsientoSeleccionadoVuelta").val("0");
        $("#spanNroAsiento").text("");
    }



</script>